-
-
Notifications
You must be signed in to change notification settings - Fork 77
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. Weβll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Dev gui - Darkmode using HSL Hue #630
Conversation
styles/app.scss - change theme color HSL Hue degree on the color wheel from 0 to 360 ie. 0 is red, 120 is green, and 214 is blue.
β Deploy Preview for livecodes ready!
To edit notification comments on pull requests, go to your Netlify site configuration. |
Thank you @gigamaster I will have a good look and let you know. Meanwhile, please run Very grateful. Thanks. |
Hi @hatemhosny I was surprise that the Draft pull request to share the work-in-progress did trigger automated workflows π€¨ |
No worries, @gigamaster I understand this is still WIP. I did trigger the automated checks just to get an idea. I will go through the changes and design decisions and give feedback. One note for now: Overall, I really like what you are doing here. I'm a bit busy with some personal commitments for the next few days. I will have a good look when I have a chance and get back to discuss with you here. Thank you. |
Hi @gigamaster I had a good look around. I very much like your approach. I do have some comments. A few are related to UI & colors (e.g. contrast of text/images with background, etc.). I think I would keep these till you finish because you are probably going to improve them anyways. You are much better than me in this area. Other comments:
Otherwise, please go on. I do like your approach. |
Hi @hatemhosny I'm glad for the feedback.
Ok then lets try to keep it simple...
Great, I'll dig into the code to see how changes can be made.
Noted.
Oohh... gitattributes was merged from my workspace mockup/prototype/test : android -> old imac -> windows
Dark/light mode implements a color-layer for the livecodes app and color-hue on elements only. Livecodes UI ModalLivecodes UI DialogLivecodes UI Menu Settings |
Oh wow!
Yes, currently users can choose a light
This is reasonable. Actually the left column of the "App menu" is related to the current project (except the login/logout link). While the right column is related to overall app settings. So it may be reasonable to split them to 2 menus: "Project" and "App Settings" (also with login link)
I will need to see a demo of this to make up my mind. Please note that LiveCodes does not provide multi-file support, so having a menu called "file" would probably not be suitable. "Project" would be a more suitable name. Whenever possible, please push your changes, so that I can try it in the deploy preview. It does not need to pass the tests for now. Thank you :) |
@gigamaster A lot of LiveCodes users are Arabic speakers. So it would be great if we can also offer RTL layout. This does not need to be in this PR. Just wanted to give you heads up. Thank you :) |
Hi @hatemhosny So, to avoid any issues with editor theme selection, dark mode applies only to the application UI layer. By the way, I also noticed that Luna console and notifications are configured with light theme by default - maybe this can be changed to match the selected editor dark theme and, or app darkmode !? After a quick check of i18n support branch, it doesn't seem like it's a problem to adapt and merge the UI. You can focus on i18n and later merge dark mode. Let me know when it's ready for translations. About RTL layout - css dir pseudo-class might do the trick, maybe similar to html.dark, ie. html[dir="rtl"] to provide optional direction. I'll check browser support and test. |
Yes, let's keep it like this for now.
You are correct. I have opened a PR in your repo to fix that. You may want to customize notification colors here. You can get the active theme using
That's great. Thank you.
@shadeed has a great guide about RTL styling here: https://rtlstyling.com/posts/rtl-styling Thank you. |
I'll merge the fix ToolsPane and update. |
fix(ToolsPane): fix console themes
add menus project, settings, help remove CodeRunButton mobile orientation landscape assets base64 scroll
UI darkmode |
Thank you @gigamaster
Yes, I see now what you mean. I think this is a nice layout. That's more organized. The hint tooltip covers the first menu item. It needs to be moved.
This was needed for small screens because of lack of space in the top bar. I see you have not yet implemented the design for mobile portrait orientation. So, I'll just wait to see how this evolves. We also have now the login button (which is no longer in menu).
I'm not sure this is useful. It might even be a bit confusing for users to scroll through the very long data urls. The embedded playgrounds now break (demo). The dark loading screen should work only in dark mode. At that time the app data have not been loaded yet. Please go on. I like the direction you are going. |
Hi @hatemhosny The main idea is to make the user interface layout match the modern web apps design that Internet users are familiar with. The base64 asset scrolling was an attempt to fix the very long string after adding an image. While I try to avoid touching the core files as much as possible, I noticed that modals have a different HTML element structure that can't be solved by CSS alone, same for tabindex and flex ordering to facilitate LTR and RTL. Some buttons don't show up, but I find them useful, for example, split and full screen. Thanks for reporting the issues - I'll check that out further. |
Validation Error: Element hr not allowed as child of element ul However, the li[role="separator"] is allowed in HTML 5.2 Issue: listitem role (default - do not set), option, presentation, radio, separator, tab or treeitem. |
I do agree on the concept and approach. I think this is indeed more organized.
I do not mind introducing some changes in HTML, so long that they do not break the app.
It now works. Thank you.
Yes. Embedded playgrounds have limited space (inside the embedding page). So it would be useful to see the playground in full screen to have more room without taking up more space from the embedding page. In contrast, the full app already takes the full view port and can be easily viewed in full screen by pressing F11 (which is not available for embeds). On the other hand, all menus and login button should not be shown in embeds. I do not even attach event handlers to them. This is the current view for embeds. We should hide all menus and the login button: I noticed that changing the editor causes some flacky movement in the editor toolbar below: Screenity.video.-.Sep.7.2024.mp4
I do like the menu separators. They make things a lot more organized and also look great. |
WIP
|
I did use your approach. Thank you.
The menus used
You are right. I did that to improve some modals with long content that required scrolling. |
the current arrow is shown in android as a square with a blue background
By the way, we have a free open-source account on browserstack.com. It is great for cross-browser tesing.
after fix: |
I'm ready to merge if you have no further comments. |
Using the CSS anchor positioning feature is great, but it's a bit risky. |
Quality Gate passedIssues Measures |
I removed the polyfill. Alternatively, I added our original code as fallback @supports not (anchor-name: --app-menu-project) {
// original code
} |
i18n ActionsSource PR has been merged into the default branch. Maintainers can comment |
Merged at last π @gigamaster @zyf722 |
.i18n-update-push |
i18n Actions:
|
Name | Description |
---|---|
New Branch for i18n | i18n/gigamaster/dev-gui |
Last Commit SHA | 6d265a0 |
Maintainers can comment .i18n-update-pull
after translation is done to trigger the i18n pull workflow and pull the changes back to Github.
Congratulations to all of you for your positive thinking, You have truly understood the meaning of teamwork. Thank you for all your hard work, support and inspiration. |
We truly are forming an excellent team. That's a team I love to continue working with. |
Thank you both for all the effort youβve put in! I am truly grateful for the opportunity to participate in this process that significantly enhances the whole application over the past few months. Itβs been a great and pleasant experience collaborating with both of you, and I've learned a lot from your expertise and precious teamwork. Wish you all the best, and hope we continue to collaborate on the next focuses! π |
updated README. |
What type of PR is this? (check all applicable)
Description
Feature: Improve overall app design (look and feel) #539
Images svg optimization.
Darkmode using HSL Hue degree on the color wheel from 0 to 360 ie. 0 is red, 120 is green, and 214 is blue.
Default css var --hue: 214;
Todo : add an input range under "dark theme" in main menu and store Hue value in localStorage.
Related Tickets & Documents
WIP #539
Mobile & Desktop Screenshots/Recordings
Added tests?
Added to documentations?
[optional] Are there any post-deployment tasks we need to perform?
No.
[optional] What gif best describes this PR or how it makes you feel?
Dark Mode minimalist theming. Todo : rename CSS vars and improve colour scheme with high visual contrast.